// pages/UserCoupon/UserCoupon.js
import {
  queryUserPossessedCoupon
} from "../../service/coupon"
import {
  displayLoading
} from "../../utils/displayUtil"
import dayjs from "dayjs"
Page({

  /**
   * 页面的初始数据
   */
  data: {
    activeIndex: 0,
    numberOfAvailableCoupons: 0,
    numberOfUsedCoupons: 0,
    numberOfExpiredCoupons: 0,
    couponList: null,
    // 优惠券状态列表
    couponStatusList: null
  },
  /**
   * 点击未使用的优惠券
   */
  onTapUnusedCoupons() {
    this.setData({
      activeIndex: 0
    })
    this.loadUserPossessedCoupon()
  },
  /**
   * 点击已使用的优惠券
   */
  onTapUsedCoupons() {
    this.setData({
      activeIndex: 1
    })
    this.loadUserPossessedCoupon()

  },
  /**
   * 点击已过期的优惠券
   */
  onTapExpiredCoupons() {
    this.setData({
      activeIndex: 2
    })
    this.loadUserPossessedCoupon()
  },
  /**
   * 点击跳转到首页 
   */
  onTapUseCouponButton() {
    wx.switchTab({
      url: '/pages/HomePage/HomePage',
    })
  },
  /**
   * 加载用户优惠券
   */
  async loadUserPossessedCoupon() {
    const type = this.data.activeIndex
    const res = await displayLoading(() => queryUserPossessedCoupon(type))
    if (res.data.userCouponList && res.data.userCouponList.length > 0) {
      for (const item of res.data.userCouponList) {
        item.availableEndTime = dayjs(item.availableEndTime).format("MM月DD日HH:mm");
        item.availableStartTime = dayjs(item.availableStartTime).format("MM月DD日HH:mm");
      }
    }
    this.setData({
      numberOfAvailableCoupons: res.data.unusedNumber,
      numberOfExpiredCoupons: res.data.invalidNumber,
      numberOfUsedCoupons: res.data.usedNumber,
      couponList: res.data.userCouponList,
      couponStatusList: new Array(res.data.userCouponList ? res.data.userCouponList.length : 0).fill(false)
    })
    console.log(this.data);
  },
  // 点击查看优惠券说明
  onTapCheckCouponDetail(event) {
    this.setData({
      [`couponStatusList[${event.currentTarget.dataset.couponIndex}]`]: !this.data.couponStatusList[event.currentTarget.dataset.couponIndex]
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.loadUserPossessedCoupon()
  },
  /**
   * 点击兑换口令券
   */
  onTapRedeemCoupon() {
    wx.navigateTo({
      url: '/pages/UserCoupon/RedeemCoupon/RedeemCoupon',
    })
  },
  /**
   * 点击前往领券中心
   */
  onTapGoToCouponCenter() {
    wx.navigateTo({
      url: '/pages/CouponCollectionArea/CouponCollectionArea',
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})